#ifndef _Ape__IO__StdOut_h
#define _Ape__IO__StdOut_h

#include <Ape/IO/OutputStream.h>

namespace Ape {
	namespace IO {
		class SerialDeviceOutput : public OutputStream {
			TYPE_NAME ("Ape::IO::SerialDeviceOutput")
		public:
			typedef void (*writer_f) (const Object&);
		private:
			writer_f Write;
			void* m_Context;
		public:
			SerialDeviceOutput (writer_f writer, void* context = NULL);
			virtual ~SerialDeviceOutput();
			
			virtual OutputStream& operator << (const Object& o);
		};
	}
}

#endif // _Ape__IO__StdOut_h
